home *** CD-ROM | disk | FTP | other *** search
/ Inter.Net 55-1 / Inter.Net 55-1.iso / CBuilder / Setup / BCB / data.z / mspst.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-02-09  |  4.8 KB  |  96 lines

  1. /*
  2.  *  M S P S T . H
  3.  *
  4.  *  This file lists internal properties of the Microsoft Personal
  5.  *  Information Store
  6.  *
  7.  *  Copyright 1986-1996 Microsoft Corporation. All Rights Reserved.
  8.  */
  9.  
  10. #ifndef _MSPST_H_
  11. #define _MSPST_H_
  12.  
  13. /*  The following is a list of properties that may be passed in
  14.     as the properties in the array of SPropValue structure on the
  15.     MsgServiceConfigure function.
  16.  
  17.     Creating a PST profile section through CreateMsgService.
  18.     The creation of the actual PST file is a two step process.  First the
  19.     client should call CreateMsgService to setup the profile section and then
  20.     ConfigureMsgService to create the PST file.
  21.     The CreateMsgService call will setup the PR_DISPLAY_NAME property in the
  22.     profile section to be used on the PST when it is created.
  23.  
  24.     Configuring an PST file through ConfigureMsgService.
  25.     The configuration of an PST can take two forms, either configuring an
  26.     existing PST or creating a new PST.  The Microsoft Personal Information
  27.     Store provider will try to find the necessary properties by first looking
  28.     in the array of SPropValue structures provided by the client and then in the
  29.     profile section, except for PR_PST_PW_SZ_OLD for which it will only look
  30.     in the array of properties.
  31.  
  32.     The Microsoft PST provider will try to open the file specified by the
  33.     PR_PST_PATH property, using the password given in the PR_PST_PW_SZ_OLD
  34.     property.  If it finds a file and it recognizes it as a PST
  35.     file, it will start the configuration routine.  Otherwise it will start the
  36.     creation routine.
  37.  
  38.     The configuration routine will look for the PR_DISPLAY_NAME_A and
  39.     PR_COMMENT_A properties and set them in the message store object.  Then it
  40.     will look for the PR_PST_REMEMBER_PW property to decide if it should
  41.     remember the password in the profile. (If not found then it will defaut to
  42.     the current status of the profile password.)  Then if it is supposed to
  43.     use UI, it will display the configuration property sheet to the user.  After
  44.     all has succeeded, it will update the profile.
  45.  
  46.     The creation routine will follow one of two paths to get the PR_PST_PATH
  47.     property.  If it is supposed to use UI it will always display the file open
  48.     dialog to confirm the path passed in or allow the user to change it.  If
  49.     the user chooses an existing file and it recognizes it as an PST it will
  50.     drop back to the configuration routine.  If the user chooses an existing
  51.     file and it is not recognized as an PST file, the user will be given the
  52.     option of choosing another file or  creating a new PST in its place, in
  53.     which case is will continue with the create routine.  If the user chooses
  54.     a new file it will continue with the create routine.  If the routine is not
  55.     allowed to use UI, then the routine will create a file at the given path
  56.     even if another file exists there.
  57.  
  58.     Once it decides to continue with the creation process it will get the
  59.     PR_DISPLAY_NAME, PR_COMMENT, PR_PST_ENCRYPTION, and PR_PST_SZ_PW_NEW
  60.     properties.  If it is supposed to use UI, it will use these to initialize
  61.     the creation dialog and get any changes the user want.  Then it will create
  62.     a new file and update the profile.
  63.  
  64.     PR_DISPLAY_NAME_A   display name for the PST service
  65.     PR_COMMENT_A        comment to the place on the PST store object
  66.     PR_PST_PATH         location the store to create or configure
  67.     PR_PST_REMEMBER_PW  whether or not the remember the password in the profile
  68.     PR_PST_ENCRYPTION   encryption level at which to create the file
  69.     PR_PST_PW_SZ_OLD    password of the PST being configured
  70.     PR_PST_PW_SZ_NEW    password to use for future access to the PST
  71. */
  72.  
  73. #define PST_EXTERN_PROPID_BASE          (0x6700)
  74. #define PR_PST_PATH                     PROP_TAG(PT_STRING8, PST_EXTERN_PROPID_BASE + 0)
  75. #define PR_PST_REMEMBER_PW              PROP_TAG(PT_BOOLEAN, PST_EXTERN_PROPID_BASE + 1)
  76. #define PR_PST_ENCRYPTION               PROP_TAG(PT_LONG, PST_EXTERN_PROPID_BASE + 2)
  77. #define PR_PST_PW_SZ_OLD                PROP_TAG(PT_STRING8, PST_EXTERN_PROPID_BASE + 3)
  78. #define PR_PST_PW_SZ_NEW                PROP_TAG(PT_STRING8, PST_EXTERN_PROPID_BASE + 4)
  79.  
  80. #define PSTF_NO_ENCRYPTION              ((DWORD)0x80000000)
  81. #define PSTF_COMPRESSABLE_ENCRYPTION    ((DWORD)0x40000000)
  82. #define PSTF_BEST_ENCRYPTION            ((DWORD)0x20000000)
  83.  
  84. /*
  85.  *  PR_MDB_PROVIDER is the GUID that represent the Microsoft Personal
  86.  *  Information Store.  This guid is available as a property in the stores
  87.  *  table and on the message store and status objects.
  88.  */
  89. #define MSPST_UID_PROVIDER  {   0x4e, 0x49, 0x54, 0x41, \
  90.                                 0xf9, 0xbf, 0xb8, 0x01, \
  91.                                 0x00, 0xaa, 0x00, 0x37, \
  92.                                 0xd9, 0x6e, 0x00, 0x00 }
  93.  
  94.  
  95. #endif  /* _MSPST_H_ */
  96.